<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');


/**
 * @author GCifuentes  - gabriel.cifuentes@outlook.com
 *
 */
class customer extends CI_Controller {


	private $oComun;
	
	function __construct(){
		parent::__construct();
		$session = $this->load->library('Valida_Sesion');
		$this->load->model('customer_model');
		$this->load->library('form_validation');
		$this->load->library('common');
		$this->load->library('session');
		$this->oComun = new Comunes();
		
		
	}


    public function tabla(){
    	
        
       $this->load->view('admin/tabla'); 
    }
    

	/**
	 * Muestra formulario de ingreso de cliente
	 * 
	 */
	public function addCustomer(){

		
		if(!$this->input->post('submit_addCustomer')  ){
			$this->load->view('admin/addCustomer');
		}else{
			
			$this->form_validation->set_rules('nombreCliente', 'Nombre cliente', 'trim|required|min_length[4]');
			$this->form_validation->set_rules('rutCliente', 'Rut cliente', 'trim|required|min_length[4]');
			$this->form_validation->set_rules('direccionfactCliente', 'Dirección factura', 'trim|required|min_length[4]');
			$this->form_validation->set_rules('direccionejecCliente', 'Dirección ejecución', 'trim|required|min_length[4]');
			$this->form_validation->set_rules('fonoCliente', 'Telefono', 'trim|required|min_length[4]');
			$this->form_validation->set_rules('comunaCliente', 'Comuna', 'trim|required|min_length[4]');
			$this->form_validation->set_rules('Giro', 'Giro', 'trim|required|min_length[4]');
			$this->form_validation->set_rules('correo', 'Correo', 'trim|required|valid_email|min_length[4]');
			
			//print_r($_REQUEST);
			
			$aData['cli_rutcliente'] =  $this->input->post('rutCliente');
			$aData['cli_nombrecliente'] =  $this->input->post('nombreCliente');
			$aData['cli_direccioncliente'] =  $this->input->post('direccionejecCliente');
			$aData['cli_comunacliente'] =  $this->input->post('comunaCliente');
			$aData['cli_giro'] =  $this->input->post('Giro');
			$aData['cli_correo'] =  $this->input->post('correo');
			$aData['esc_id_estadocliente'] =  1; // por defecto es activo
			$aData['cli_fonocliente'] =  $this->input->post('fonoCliente');
			
			
			if($this->form_validation->run() === FALSE){
				
				$this->session->set_flashdata('msg','No se ha ingresado correctamente el Cliente');
				//$oMensaje = $this->oComun->getMessageError('No se ha ingresado correctamente el Cliente');
				//$this->session->set_flashdata('msg','No se ha ingresado correctamente el Cliente');
				redirect('index.php/customer/addCustomer', 'refresh');
				//http://localhost/ratacom/index.php/customer/addCustomer
			}else{
				
				if($this->customer_model->InsertCustomer($aData)){
					$this->session->set_flashdata('msg','Se ha ingresado el cliente correctamente');
					redirect('index.php/customer/addCustomer', 'refresh');
				}else{
					$this->session->set_flashdata('msg','Ha ocurrido un error al ingresar el cliente');
					redirect('index.php/customer/addCustomer', 'refresh');
				}
			}
		}
	}
	
	
	/**
	 *  Lista los clientes
	 *  return array clientes
	 */
	public function listCustomer($aData=null){
		$aData['aClientes'] = $this->customer_model->getCustomers();
		
		if($this->session->flashdata('msg') != '' || $this->session->flashdata('msg') != null)
			$aData['msg'] = $this->session->flashdata('msg');
		
		
		$aData['aTablaClientes'] = '';
		foreach($aData['aClientes'] as $sCliente){
			$aData['aTablaClientes'] .= '<tr>';
			$aData['aTablaClientes'] .= '<td ><a href="javascript:void()"  onClick="location.href=\'modCustomer/'.$sCliente['cli_id_cliente'].'\'" class="btn btn-mini ">Modificar</a></td>
						<td ><a href="javascript:void()"  onClick="location.href=\'deleteCustomer/'.$sCliente['cli_id_cliente'].'\'" class="btn btn-mini ">Eliminar</a>
					</td>';
			$aData['aTablaClientes'] .= '<td>'.$sCliente['cli_rutcliente'].'</td>';
			$aData['aTablaClientes'] .= '<td>'.$sCliente['cli_nombrecliente'].'</td>';
			$aData['aTablaClientes'] .= '<td>'.$sCliente['cli_direccioncliente'].'</td>';
			$aData['aTablaClientes'] .= '<td>'.$sCliente['cli_fonocliente'].'</td>';
			$aData['aTablaClientes'] .= '<td>'.$sCliente['cli_comunacliente'].'</td>';
			$aData['aTablaClientes'] .= '<td>'.$sCliente['cli_giro'].'</td>';
			$aData['aTablaClientes'] .= '<td>'.$sCliente['cli_correo'].'</td>';
			$aData['aTablaClientes'] .= '</tr>';
		}

        $test = '<a href="">asdasdasd</a>';
		$this->load->view('admin/listCustomer',$aData);
		
		
	}
	
	
	
	public function modCustomer($iIdCustomer){
		$aData = $this->customer_model->getCustomer($iIdCustomer);
		if($aData['msg'] == '')
			$this->load->view('admin/modCustomer',$aData);
		else
			return $aData['aCliente']['msg'];
	}
	
	
	public function updateCustomer(){
	
		if($this->input->post('submit_updateCustomer')){
			
			$this->form_validation->set_rules('id_cliente', 'id de cliente', 'trim|required');
			$this->form_validation->set_rules('nombreCliente', 'Nombre cliente', 'trim|required|min_length[4]');
			$this->form_validation->set_rules('direccionfactCliente', 'Dirección factura', 'trim|required|min_length[4]');
			$this->form_validation->set_rules('direccionejecCliente', 'Dirección ejecución', 'trim|required|min_length[4]');
			$this->form_validation->set_rules('fonoCliente', 'Telefono', 'trim|required|min_length[4]');
			$this->form_validation->set_rules('comunaCliente', 'Comuna', 'trim|required|min_length[4]');
			$this->form_validation->set_rules('Giro', 'Giro', 'trim|required|min_length[4]');
			$this->form_validation->set_rules('correo', 'Correo', 'trim|required|valid_email|min_length[4]');
				
			$aData['cli_id_cliente'] =  trim($this->input->post('id_cliente'));
			$aData['cli_nombrecliente'] =  trim($this->input->post('nombreCliente'));
			$aData['cli_direccioncliente'] =  trim($this->input->post('direccionejecCliente'));
			$aData['cli_fonocliente'] =  trim($this->input->post('fonoCliente'));
			$aData['cli_comunacliente'] =  trim($this->input->post('comunaCliente'));
			$aData['cli_giro'] =  trim($this->input->post('Giro'));
			$aData['cli_correo'] =  trim($this->input->post('correo'));
			
			
			
			if($this->form_validation->run() === FALSE){
			
				    //$this->session->set_flashdata('msg','Error en el paso de parametros');
				    $oMensaje = $this->oComun->getMessageError('Error en el paso de parametros');
				    $this->session->set_flashdata('msg',$oMensaje);
					redirect('index.php/customer/listCustomer', 'refresh');
							
			}else{
			
				if($this->customer_model->updateCustomer($aData)){
					//$this->session->set_flashdata('msg','Se ha actualizado correctamente el cliente');
					$oMensaje = $this->oComun->getMessageSuccessfully('Se ha actualizado correctamente el cliente');
					$this->session->set_flashdata('msg',$oMensaje);
					redirect('index.php/customer/listCustomer', 'refresh');
				}else{
					$oMensaje = $this->oComun->getMessageError('Error al actualizar el cliente');
					$this->session->set_flashdata('msg',$oMensaje);
				//	$this->session->set_flashdata('msg','Error al actualizar el cliente');
					redirect('index.php/customer/listCustomer', 'refresh');
				}
			}
		}else{
					$oMensaje = $this->oComun->getMessageError('No se encuentra el servicio indicado');
					$this->session->set_flashdata('msg',$oMensaje);
                    //$this->session->set_flashdata('msg','No se encuentra el servicio indicado');
					redirect('index.php/customer/listCustomer', 'refresh');
		}
		
	
	
	}
	
	
	public function deleteCustomer($iIdCustomer){
		
		$aData['cli_id_cliente'] = $iIdCustomer;
		
		if(!isset($iIdCustomer) || $iIdCustomer == ''){
				$this->session->set_flashdata('msg',$this->oComun->getMessageError('Error en el paso de parametros'));
				redirect('index.php/customer/listCustomer', 'refresh');
        }else{
				if($this->customer_model->deleteCustomer($aData)){
                    $msg = $this->oComun->getMessageSuccessfully('Se ha eliminado correctamente el cliente');
				    $this->session->set_flashdata('msg',$msg);
                   
					redirect('index.php/customer/listCustomer', 'refresh');
				}else{
				    $msg = $this->oComun->getMessageError('No se ha eliminado el Cliente');
                    $this->session->set_flashdata('msg',$msg);
                    redirect('index.php/customer/listCustomer', 'refresh');
				}
		}
		
	}
	
	

	
}